package br.usjt.teste;

import static org.junit.Assert.*;

import java.sql.SQLException;
import java.util.ArrayList;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

import br.usjt.dominio.Filme;
import br.usjt.dominio.FilmeRepositorio;
import br.usjt.servico.DAOFactory;
import br.usjt.servico.IFilmeDAO;

public class UC08ExcluirFilme {

	static IFilmeDAO filmeDAO;
	static FilmeRepositorio filmeRepositorio;
	static ArrayList<Filme> listaDeFilmes;
	static Filme umFilme;

	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
		filmeDAO = DAOFactory.getDAOFactory(DAOFactory.MYSQL).getFilmeDAO();
		filmeDAO.cadastra(8888, "a era do gelo 4", 1);
		filmeRepositorio = new FilmeRepositorio();
		umFilme = new Filme(8888, "a era do gelo 4", 1);
		
	}

	/**
	 * verificar o comportamento da funcao exclui filme com sucesso
	 */
	@Test
	public void CT01UC08ExcluirFilme() {
		assertEquals(1, filmeDAO.exclui("a era do gelo 4"));
	}
	/*
	 * testa camada de dominio
	 */

	@Test
	public void CT02Excluir_com_sucesso() {
		filmeRepositorio.cadastra(umFilme);
		assertEquals("qtd de registros afetados", 1,filmeRepositorio.exclui("a era do gelo 4"));
	}

	@AfterClass
	public static void tearDownAfterClass() throws Exception {
		filmeRepositorio.exclui("a era do gelo 4");
	}

}
